The Internet is an international collection of interconnected networks currently providing connectivity among millions of computer systems. One part of the Internet is the World Wide Web (“Web”), a graphics and sound-oriented technology used by computer systems to access a vast variety of digital information, e.g., files, documents, images, and sounds, stored on other computer systems, called “Web sites” (or “Web servers”). A Web site consists of electronic pages or documents called “Web pages.”
Computer system users can view digital information at Web sites through a graphical user interface produced by executing client software called a “browser.” Examples of commercially available Web browsers include Netscape Navigator™ and Microsoft Internet Explorer™. Web browsers use a variety of standardized methods (i.e., protocols) for addressing and communicating with Web servers. A common protocol for publishing and viewing linked text documents is HyperText Transfer Protocol (HTTP).
To access a Web page at a Web server, a computer system user enters the address of the Web page, called an Uniform Resource Locator (URL), in an address box provided by the Web browser. The URL can specify the location of a Web server or a file on a Web server. An accessed Web page can include any combination of text, graphics, audio, and video information (e.g., images, motion pictures, animation, etc.). Often, the accessed Web page has links, called hyperlinks, to documents at other Web pages on the Web. Also, an accessed Web page can invoke execution of an application program.
The development of the Web has enabled computer users to exchange messages and documents both locally and across the world. One popular form of network communication among Web users is electronic mail (e-mail). Most e-mail communication between users are short messages. Occasionally, an e-mail message may have an attachment, which is a file that is transmitted with the message. This file can be one of many formats, e.g., text, graphics, executable software, etc. E-mail systems, however, typically limit the size of e-mail messages. Attachments beyond this size limit need to be broken into smaller files and reconstructed by the recipient, an inconvenience and task beyond the ken of many e-mail users. Consequently, e-mail may not be a practical medium for transmitting formatted documents because of the typically large size of such documents. Other protocols, such as HTTP and FTP (file-transfer protocol), are able to transfer large files, but interruptions on the network can require repeated transfer attempts to successfully transfer a complete file.
The problem of delivering large documents across the network has led to the development of electronic document delivery systems. One electronic document delivery system is described in U.S. Pat. No. 5,790,790, issued to Smith et al. This delivery system includes a server interposed between sending and receiving computers. The sending system transmits the document to the server, and the server transmits a notification to the receiving system after receiving the full document. This notification includes a direct reference to the forwarded and stored document on the server. The receiving system uses the direct reference to locate and download the document from the server.
One drawback of this delivery system, however, is that notification occurs after completely transferring the document. As a result, the server must receive the entire document before sending a notification to the intended recipient. However, network failure at one of multiple points in the delivery system can prevent the notification from reaching the receiving system. For one, the server may never receive the entire document and, therefore, never issue a notification to the receiving system. Second, the connection between the server and the receiving system may fail, and the receiving system may not receive the notification issued by the server. In each instance, the receiving system remains unaware that the sending system is attempting to send a document. In the latter instance, the server may have successfully received the document, but the receiving system, without a notification, neither knows to retrieve the document nor where to find it.